<?php
/**
 * 电子发票接口事件类
 *
 * @author xiayuanjun<xiayuanjun@shopex.cn>
 * update 20160620 wangjianjun
 * @version 0.1
 */
class invoice_event_trigger_einvoice{

    /**
     * 电子发票开票(蓝票)发起方法
     * @param string $shop_id 来源店铺ID
     * @param array $data 开电子发票（开蓝票）通知数据信息
     */
    public function create($shop_id,&$data){
        return kernel::single('erpapi_router_request')->set('invoice',$shop_id)->invoice_create($data);
    }

    /**
     * 电子发票开票作废(红票)发起方法
     * @param string $shop_id 来源店铺ID
     * @param array $data  作废电子发票（冲红）通知数据信息
     */
    public function cancel($shop_id,&$data){
        return  kernel::single('erpapi_router_request')->set('invoice',$shop_id)->invoice_cancel($data);
    }
    
    /**
     * 电子发票开票(蓝票或者红票)后获取发票开票结果查询
     * @param string $shop_id 来源店铺ID
     * @param array $data 开电子发票（开蓝票或者红票）后获取发票开票结果查询 通知数据信息
     */
    public function getEinvoiceCreateResult($shop_id,&$data){
        return kernel::single('erpapi_router_request')->set('invoice',$shop_id)->invoice_create_result($data);
    }
    
    /**
     * 电子发票获取url发起方法
     * @param string $shop_id 来源店铺ID
     * @param array $data  获取电子发票url（蓝票或红票）通知数据信息
     */
    public function getInvoiceUrl($shop_id,&$data){
        return  kernel::single('erpapi_router_request')->set('invoice',$shop_id)->invoice_get_url($data);
    }

    /**
     * 查询已回传淘宝的电子发票
     * @param string $shop_id 来源店铺ID
     * @param array $data  获取已回传淘宝的电子发票通知数据信息
     */
    public function getEinvoiceInfo($shop_id,&$data){
        return  kernel::single('erpapi_router_request')->set('invoice',$shop_id)->invoice_get_info($data);
    }
    
    /**
     * 回流天猫前 电子发票状态更新
     * @param string $shop_id 来源店铺ID
     * @param array $data  ERP在给tmall开电子发票蓝票和红票前 需要调用此接口把开票状态同步给tmall
     */
    public function einvoicePrepare($shop_id,&$data){
        return  kernel::single('erpapi_router_request')->set('invoice',$shop_id)->invoice_einvoice_prepare($data);
    }
    
    /**
     * 电子发票回流天猫
     * @param string $shop_id 来源店铺ID
     * @param array $data 电子发票回流天猫 通知数据信息
     */
    public function uploadTmall($shop_id, &$data){
        return kernel::single('erpapi_router_request')->set('invoice',$shop_id)->invoice_upload_tmall($data);
    }
    
}